// vite.config.js
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { visualizer } from 'rollup-plugin-visualizer'
import dotenv from 'dotenv'
dotenv.config({ path: './.env.production' })
export default defineConfig({
  plugins: [
    vue(),
    visualizer({ open: true }) // 打包分析插件
  ],
  base: process.env.NODE_ENV === 'production' ? './' : '/', // 设置打包路径
  outputDir: 'yt-webSite',
  assetsDir: 'static',
  server: {
    port: 8080, // 本地开发服务器端口
    host: true, // 监听所有网络接口
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        rewrite: path => path.replace(/^\/api/, '/api')
      },
    }
  },
  build: {
    rollupOptions: {
      output: {
        manualChunks(id) {
          if (id.includes('node_modules')) {
            return id.toString().split('node_modules/')[1].split('/')[0].toString()
          }
        }
      }
    },
    terserOptions: {
      compress: {
        drop_console: true, // 移除 console
        drop_debugger: true // 移除 debugger
      }
    }
  },
  resolve: {
    alias: {
      //将 @ 指向 /src
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})
